home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / include / linux / capi.h < prev    next >
C/C++ Source or Header  |  2008-10-24  |  3KB  |  132 lines

  1. /* $Id: capi.h,v 1.4.6.1 2001/09/23 22:25:05 kai Exp $
  2.  * 
  3.  * CAPI 2.0 Interface for Linux
  4.  * 
  5.  * Copyright 1997 by Carsten Paeth (calle@calle.in-berlin.de)
  6.  * 
  7.  * This software may be used and distributed according to the terms
  8.  * of the GNU General Public License, incorporated herein by reference.
  9.  *
  10.  */
  11.  
  12. #ifndef __LINUX_CAPI_H__
  13. #define __LINUX_CAPI_H__
  14.  
  15. #include <asm/types.h>
  16. #include <linux/ioctl.h>
  17. #include <linux/kernelcapi.h>
  18.  
  19. /*
  20.  * CAPI_REGISTER
  21.  */
  22.  
  23. typedef struct capi_register_params {    /* CAPI_REGISTER */
  24.     __u32 level3cnt;    /* No. of simulatneous user data connections */
  25.     __u32 datablkcnt;    /* No. of buffered data messages */
  26.     __u32 datablklen;    /* Size of buffered data messages */
  27. } capi_register_params;
  28.  
  29. #define    CAPI_REGISTER    _IOW('C',0x01,struct capi_register_params)
  30.  
  31. /*
  32.  * CAPI_GET_MANUFACTURER
  33.  */
  34.  
  35. #define CAPI_MANUFACTURER_LEN        64
  36.  
  37. #define    CAPI_GET_MANUFACTURER    _IOWR('C',0x06,int)    /* broken: wanted size 64 (CAPI_MANUFACTURER_LEN) */
  38.  
  39. /*
  40.  * CAPI_GET_VERSION
  41.  */
  42.  
  43. typedef struct capi_version {
  44.     __u32 majorversion;
  45.     __u32 minorversion;
  46.     __u32 majormanuversion;
  47.     __u32 minormanuversion;
  48. } capi_version;
  49.  
  50. #define CAPI_GET_VERSION    _IOWR('C',0x07,struct capi_version)
  51.  
  52. /*
  53.  * CAPI_GET_SERIAL
  54.  */
  55.  
  56. #define CAPI_SERIAL_LEN        8
  57. #define CAPI_GET_SERIAL        _IOWR('C',0x08,int)    /* broken: wanted size 8 (CAPI_SERIAL_LEN) */
  58.  
  59. /*
  60.  * CAPI_GET_PROFILE
  61.  */
  62.  
  63. typedef struct capi_profile {
  64.     __u16 ncontroller;    /* number of installed controller */
  65.     __u16 nbchannel;    /* number of B-Channels */
  66.     __u32 goptions;        /* global options */
  67.     __u32 support1;        /* B1 protocols support */
  68.     __u32 support2;        /* B2 protocols support */
  69.     __u32 support3;        /* B3 protocols support */
  70.     __u32 reserved[6];    /* reserved */
  71.     __u32 manu[5];        /* manufacturer specific information */
  72. } capi_profile;
  73.  
  74. #define CAPI_GET_PROFILE    _IOWR('C',0x09,struct capi_profile)
  75.  
  76. typedef struct capi_manufacturer_cmd {
  77.     unsigned long cmd;
  78.     void *data;
  79. } capi_manufacturer_cmd;
  80.  
  81. /*
  82.  * CAPI_MANUFACTURER_CMD
  83.  */
  84.  
  85. #define CAPI_MANUFACTURER_CMD    _IOWR('C',0x20, struct capi_manufacturer_cmd)
  86.  
  87. /*
  88.  * CAPI_GET_ERRCODE
  89.  * capi errcode is set, * if read, write, or ioctl returns EIO,
  90.  * ioctl returns errcode directly, and in arg, if != 0
  91.  */
  92.  
  93. #define CAPI_GET_ERRCODE    _IOR('C',0x21, __u16)
  94.  
  95. /*
  96.  * CAPI_INSTALLED
  97.  */
  98. #define CAPI_INSTALLED        _IOR('C',0x22, __u16)
  99.  
  100.  
  101. /*
  102.  * member contr is input for
  103.  * CAPI_GET_MANUFACTURER, CAPI_VERSION, CAPI_GET_SERIAL
  104.  * and CAPI_GET_PROFILE
  105.  */
  106. typedef union capi_ioctl_struct {
  107.     __u32 contr;
  108.     capi_register_params rparams;
  109.     __u8 manufacturer[CAPI_MANUFACTURER_LEN];
  110.     capi_version version;
  111.     __u8 serial[CAPI_SERIAL_LEN];
  112.     capi_profile profile;
  113.     capi_manufacturer_cmd cmd;
  114.     __u16 errcode;
  115. } capi_ioctl_struct;
  116.  
  117. /*
  118.  * Middleware extension
  119.  */
  120.  
  121. #define CAPIFLAG_HIGHJACKING    0x0001
  122.  
  123. #define CAPI_GET_FLAGS        _IOR('C',0x23, unsigned)
  124. #define CAPI_SET_FLAGS        _IOR('C',0x24, unsigned)
  125. #define CAPI_CLR_FLAGS        _IOR('C',0x25, unsigned)
  126.  
  127. #define CAPI_NCCI_OPENCOUNT    _IOR('C',0x26, unsigned)
  128.  
  129. #define CAPI_NCCI_GETUNIT    _IOR('C',0x27, unsigned)
  130.  
  131. #endif                /* __LINUX_CAPI_H__ */
  132.